import pandas as pd
import plotly.express as px
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
import os
import umap
import glob
import ast
%matplotlib inline
delhi=pd.read_csv("delhi-corona-news-cleaned.csv",index_col=0)
kolkata=pd.read_csv("kolkata-corona-news-cleaned.csv",index_col=0)
chennai=pd.read_csv("chennai-corona-news-cleaned.csv",index_col=0)
hyderabad=pd.read_csv("hyderabad-corona-news-cleaned.csv",index_col=0)
mumbai=pd.read_csv("mumbai-corona-news-cleaned.csv",index_col=0)
bengaluru=pd.read_csv("bengaluru-corona-news-cleaned.csv",index_col=0)
News Analysis As Follows
1)See the percentage of each emotion per week
2)Explored the fear and anger emotion pattern over weeks
3)See number of news for each emotions in different cities
4)Explored fear peaks and respective news for different cities
5)We found disappointing and depressing news pattern in the respective cities and verifiy it by checking original feeds
6)We found frustrating news patterns in the respective cities and verifiy it by checking original feeds
fig,ax=plt.subplots(2,3,figsize=(40,25))
ax[0][0].stackplot(delhi.index,delhi.fear_percentage,delhi.anger_percentage,delhi.sadness_percentage,delhi.joy_percentage,delhi.surprise_percentage)
ax[0,0].tick_params(labelrotation=40)
ax[0][1].stackplot(mumbai.index,mumbai.fear_percentage,mumbai.anger_percentage,mumbai.sadness_percentage,mumbai.joy_percentage,mumbai.surprise_percentage)
ax[0,1].tick_params(labelrotation=40)
ax[0][2].stackplot(bengaluru.index,bengaluru.fear_percentage,bengaluru.anger_percentage,bengaluru.sadness_percentage,bengaluru.joy_percentage,bengaluru.surprise_percentage)
ax[0,2].tick_params(labelrotation=40)
ax[1][0].stackplot(kolkata.index,kolkata.fear_percentage,kolkata.anger_percentage,kolkata.sadness_percentage,kolkata.joy_percentage,kolkata.surprise_percentage)
ax[1,0].tick_params(labelrotation=40)
ax[1][1].stackplot(chennai.index,chennai.fear_percentage,chennai.anger_percentage,chennai.sadness_percentage,chennai.joy_percentage,chennai.surprise_percentage)
ax[1,1].tick_params(labelrotation=40)
ax[1][2].stackplot(hyderabad.index,hyderabad.fear_percentage,hyderabad.anger_percentage,hyderabad.sadness_percentage,hyderabad.joy_percentage,hyderabad.surprise_percentage)
ax[1,2].tick_params(labelrotation=40)
plt.legend(["Fear","Anger","Sadness","Joy","Surprise"],prop={'size': 30})
ax[0,0].set_title('Delhi',fontsize=40)
ax[0,1].set_title('Mumbai',fontsize=40)
ax[0,2].set_title('Bengaluru',fontsize=40)
ax[1,0].set_title('Kolkata',fontsize=40)
ax[1,1].set_title('Chennai',fontsize=40)
ax[1,2].set_title('Hyderabad',fontsize=40)
fig.suptitle('Emotion Percentage On Per Week News', fontsize=60)
plt.show()
fig.savefig("News-sentiment-6cities.png")
fig,ax=plt.subplots(2,3,figsize=(40,25))
ax[0][0].plot(delhi.index,delhi.fear)
ax[0][0].plot(delhi.index,delhi.anger)
ax[0,0].tick_params(labelrotation=40)
ax[0][1].plot(mumbai.index,mumbai.fear)
ax[0][1].plot(mumbai.index,mumbai.anger)
ax[0,1].tick_params(labelrotation=40)
ax[0][2].plot(kolkata.index,kolkata.fear)
ax[0][2].plot(kolkata.index,kolkata.anger)
ax[0,2].tick_params(labelrotation=40)
ax[1][0].plot(bengaluru.index,bengaluru.fear)
ax[1][0].plot(bengaluru.index,bengaluru.anger)
ax[1,0].tick_params(labelrotation=40)
ax[1][1].plot(chennai.index,chennai.fear)
ax[1][1].plot(chennai.index,chennai.anger)
ax[1,1].tick_params(labelrotation=40)
ax[1][2].plot(hyderabad.index,hyderabad.fear)
ax[1][2].plot(hyderabad.index,hyderabad.anger)
ax[1,2].tick_params(labelrotation=40)
plt.legend(["Fear","Anger","Sadness","Joy","Surprise"],prop={'size': 30})
ax[0,0].set_title('Delhi',fontsize=40)
ax[0,1].set_title('Mumbai',fontsize=40)
ax[0,2].set_title('Kolkata',fontsize=40)
ax[1,0].set_title('Bengaluru',fontsize=40)
ax[1,1].set_title('Chennai',fontsize=40)
ax[1,2].set_title('Hyderabad',fontsize=40)
fig.suptitle('Trend Of Fear News Per Week', fontsize=60)
plt.show()
fig.savefig("Fear-6cities.png")
plt.figure(figsize=(20,5))
plt.plot(delhi.index,delhi.fear)
plt.xticks(rotation=50)
plt.plot(delhi.index,delhi.anger)
plt.plot(delhi.index,delhi.sadness)
plt.plot(delhi.index,delhi.joy)
plt.plot(delhi.index,delhi.surprise)
plt.legend(["Fear","Anger","Sadness","joy","Surprise"])
plt.title("Delhi News Emotion Per Week",fontsize=30)
plt.savefig("delhi-emotion.png")
plt.figure(figsize=(20,5))
plt.plot(mumbai.index,mumbai.fear)
plt.xticks(rotation=50)
plt.plot(mumbai.index,mumbai.anger)
plt.plot(mumbai.index,mumbai.sadness)
plt.plot(mumbai.index,mumbai.joy)
plt.plot(mumbai.index,mumbai.surprise)
plt.legend(["Fear","Anger","Sadness","joy","Surprise"])
plt.title("Mumbai News Emotion Per Week",fontsize=30)
plt.savefig("Mumbai-emotion.png")
plt.figure(figsize=(20,5))
plt.plot(bengaluru.index,bengaluru.fear)
plt.xticks(rotation=50)
plt.plot(bengaluru.index,bengaluru.anger)
plt.plot(bengaluru.index,bengaluru.sadness)
plt.plot(bengaluru.index,bengaluru.joy)
plt.plot(bengaluru.index,bengaluru.surprise)
plt.legend(["Fear","Anger","Sadness","joy","Surprise"])
plt.title("bengaluru News Emotion Per Week",fontsize=30)
plt.savefig("bengaluru-emotion.png")
plt.figure(figsize=(20,5))
plt.plot(kolkata.index,kolkata.fear)
plt.xticks(rotation=50)
plt.plot(kolkata.index,kolkata.anger)
plt.plot(kolkata.index,kolkata.sadness)
plt.plot(kolkata.index,kolkata.joy)
plt.plot(kolkata.index,kolkata.surprise)
plt.legend(["Fear","Anger","Sadness","joy","Surprise"])
plt.title("kolkata News Emotion Per Week",fontsize=30)
plt.savefig("kolkata-emotion.png")
plt.figure(figsize=(20,5))
plt.plot(chennai.index,chennai.fear)
plt.xticks(rotation=50)
plt.plot(chennai.index,chennai.anger)
plt.plot(chennai.index,chennai.sadness)
plt.plot(chennai.index,chennai.joy)
plt.plot(chennai.index,chennai.surprise)
plt.legend(["Fear","Anger","Sadness","joy","Surprise"])
plt.title("chennai News Emotion Per Week",fontsize=30)
plt.savefig("chennai-emotion.png")
plt.figure(figsize=(20,5))
plt.plot(hyderabad.index,hyderabad.fear)
plt.xticks(rotation=50)
plt.plot(hyderabad.index,hyderabad.anger)
plt.plot(hyderabad.index,hyderabad.sadness)
plt.plot(hyderabad.index,hyderabad.joy)
plt.plot(hyderabad.index,hyderabad.surprise)
plt.legend(["Fear","Anger","Sadness","joy","Surprise"])
plt.title("hyderabad News Emotion Per Week",fontsize=30)
plt.savefig("hyderabad-emotion.png")
Delhi
ast.literal_eval(delhi[delhi.index=="2020-03-16 00:00:00"].news.values[0])
#Mumbai
ast.literal_eval(mumbai[mumbai.index=="2020-03-16 00:00:00"].news.values[0])
#kolkata
ast.literal_eval(kolkata[kolkata.index=="2020-03-16 00:00:00"].news.values[0])
Lets Checkout
#Delhi
ast.literal_eval(delhi[delhi.index=="2020-04-27 00:00:00"].news.values[0])
#Bengaluru
ast.literal_eval(bengaluru[bengaluru.index=="2020-04-13 00:00:00"].news.values[0])
Let's Check
#Chennai
ast.literal_eval(chennai.iloc[16].news)
#it is showing low fear and higher anger
#Hyderabad
ast.literal_eval(chennai[chennai.index=="2020-06-08 00:00:00"].news.values[0])
#similarly news shows same feelings
#Does it some what frustrating??